package com.lancoo.cvas.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * VIEW
 * 
 * @author liufeng
 * @email 1037383243@qq.com
 * @date 2023-12-26 19:50:57
 */
@Data
@TableName("view_schedule")
@ApiModel("课表视图")
public class ViewSchedule implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 课表
	 */

	@ApiModelProperty("id")
	private Long id;
	/**
	 * 任务id
	 */
	@ApiModelProperty("任务id")
	private Integer taskId;
	/**
	 * 课表所属类型 0:环节  1讲授 2实验 3上机 4其他
	 */
	@ApiModelProperty("授课类型")
	private Integer hourType;
	/**
	 * timeCode为null时，代表调课模式下处于暂放区
	 */
	@ApiModelProperty("课时编码")
	private String timeCode;
	@ApiModelProperty("课时分组")
	private String timeGroup;
	/**
	 * 双课节timecode
	 */
	@ApiModelProperty("双课节timecode")
	private String doubleTimeCode;
	/**
	 * 
	 */
	@ApiModelProperty("周次")
	private String week;
	/**
	 * 连上节次
	 */
	@ApiModelProperty("连上节次")
	private Integer connectSection;
	/**
	 * 教学班id
	 */
	@ApiModelProperty("教学班id")
	private Long teachingClassId;
	/**
	 * 教学班名称
	 */
	@ApiModelProperty("教学班名称")
	private String teachingClassName;
	/**
	 * 课程id
	 */
	@ApiModelProperty("课程id")
	private Long courseId;
	/**
	 * 课程名称
	 */
	@ApiModelProperty("课程名称")
	private String courseName;
	/**
	 * 拆班教学班id
	 */
	@ApiModelProperty("拆班教学班id")
	private Integer subTeachingClassId;
	/**
	 * 所属校区
	 */
	@ApiModelProperty("所属校区")
	private String campusId;
	/**
	 * 所属校区名称
	 */
	@ApiModelProperty("所属校区名称")
	private String campusName;
	/**
	 * 0无需选课 1在线选课
	 */
	@ApiModelProperty("是否选课")
	private Integer teachingClassType;
	/**
	 * 修读性质：1主修2辅修
	 */
	@ApiModelProperty("修读性质")
	private Integer studyNature;
	/**
	 * 
	 */
	@ApiModelProperty("行政班id")
	private String toClass;
	/**
	 * 分班标识 uuid
	 */
	@ApiModelProperty("分班标识")
	private String uniqueShiftSign;
	/**
	 * 1课程  2环节
	 */
	@ApiModelProperty("1课程  2环节")
	private Integer flag;
	/**
	 * 1未锁定  2锁定
	 */
	@ApiModelProperty("锁定")
	private Integer isLocked;
	/**
	 * 排课状态 1已排（正常）、2已排（未满足规则）、3已排（冲突）、4 待排
	 */
	@ApiModelProperty("排课状态")
	private Integer scheduleState;
	/**
	 * 教室id
	 */
	@ApiModelProperty("教室id")
	private Long roomId;
	/**
	 * 教室名称
	 */
	@ApiModelProperty("教室名称")
	private String roomName;
	/**
	 * 建筑id
	 */
	@ApiModelProperty("建筑id")
	private Integer buildingId;
	/**
	 * 建筑名称
	 */
	@ApiModelProperty("建筑名称")
	private String buildingName;
	/**
	 * 教室类型
	 */
	@ApiModelProperty("教室类型")
	private Integer roomType;
	/**
	 * 容量（不可为空）
	 */
	@ApiModelProperty("容量")
	private Integer roomNum;
	/**
	 * 教师id
	 */
	@ApiModelProperty("教师id")
	private String teacherIds;
	/**
	 * 教师
	 */
	@TableField(exist = false)
	@ApiModelProperty("教师")
	private String teacherName;

}
